package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc CalculateQuantitativeCompletionRateComReqDto
 * @使用场景
 */
@Data
public class CalculateQuantitativeCompletionRateComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @NotNull(message = "冗余指标业务类型不能为空")
  @ApiModelProperty("冗余指标业务类型")
  private String targetValueType;

  /**
   * 实际值（数值）
   */
  @NotNull(message = "实际值（数值）不能为空")
  @ApiModelProperty("实际值（数值）")
  private Double actualValue;

  /**
   * 目标起始值
   */
  @ApiModelProperty("目标起始值")
  private Double evaTargetStartValue;

  /**
   * 目标诊断值
   */
  @ApiModelProperty("目标诊断值")
  private Double evaTargetDiagnosticValue;

  /**
   * 目标目标值
   */
  @ApiModelProperty("目标目标值")
  private Double evaTargetValue;

  /**
   * 小数点规则
   */
  @NotNull(message = "小数点规则不能为空")
  @ApiModelProperty("小数点规则")
  private Long decimalPointRules;

  /**
   * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
   */
  @NotNull(message = "小数最后一位规则不能为空")
  @ApiModelProperty("小数最后一位规则")
  private String decimalDigitsLastRules;

}
